新手必學!5個實用的Python for迴圈範例
在Python程式設計中,for迴圈是最常用且強大的流程控制工具,特別適合處理已知迭代次數的重複任務。與while迴圈不同,for迴圈專為遍歷序列(如列表、元組、字典、集合或字串)而設計,讓程式碼更簡潔高效。
本文將透過5個實用範例,從基礎到進階,讓你徹底掌握for迴圈的精髓,提升Python編程能力!
範例1:遍歷清單
列表遍歷是for迴圈最基本也最常見的應用,讓我們從這裡開始:
fruits = ["蘋果", "香蕉", "橘子"]
for fruit in fruits:
print(fruit)
重點解析:
fruits
是一個包含水果名稱的清單。for fruit in fruits:
會依序將清單中的每個項目取出,存入變數fruit
。- 在迴圈內,
print(fruit)
將印出每個水果名稱。 - 不需索引:不同於其他語言,Python的for迴圈直接提供元素值,簡化程式碼
範例2:自動計算平方
for迴圈常用於對資料集進行轉換或處理,以下是計算數字平方值的範例:
numbers = [1, 2, 3, 4, 5]
squares = []
for num in numbers:
squares.append(num ** 2)
print("平方值:", squares) # 輸出: 平方值: [1, 4, 9, 16, 25]
重點解析:
numbers
是一個包含數字的清單,squares
用於儲存平方結果。- 每次迭代時,
num
會取出清單中的數字,計算平方值並加入squares
。 - 動態擴充:使用append()方法將結果加入新列表。
- 最後印出
squares
,得到所有平方結果。
進階技巧:
熟悉Python後,可使用列表推導式簡化此類操作:
squares = [num ** 2 for num in numbers]
範例3:範圍控制的迴圈
當需要特定範圍的數字序列時,range()函數是理想選擇:
for i in range(1, 6): # 產生1到5的序列
print(i)
重點解析:
range(1, 6)
產生數字序列[1, 2, 3, 4, 5]
,範圍包含 1,但不包含 6。for i in range(1, 6):
將序列中的每個數字依序取出,存入變數i
。- 在迴圈內,
print(i)
將印出序列中的每個數字。
range()用法解析:
- 範圍設定:
range(start, stop[, step])
,包含起始值但不包含結束值 - 常見用法:
range(5)
- 產生0到4的序列range(1, 10, 2)
- 產生1, 3, 5, 7, 9的序列(設定步長為2- 記憶效率:
range()
不會立即生成完整列表,而是按需生成數值,適合處理大範圍
範例4:條件篩選
for迴圈與條件判斷結合,能實現資料篩選功能:
numbers = [10, 15, 20, 25, 30]
for num in numbers:
if num % 2 == 0:
print(f"{num} 是偶數")
重點解析:
- 每次從清單中取出數字存入變數
num
。 - 使用
if num % 2 == 0
判斷是否為偶數。 - 符合條件時,
print(f"{num} 是偶數")
印出結果。
範例5:巢狀迴圈
巢狀迴圈是處理多維資料結構的常用方法:
for i in range(1, 4):
for j in range(1, 4):
print(f"({i}, {j})")
重點解析:
- 外層迴圈控制
i
的範圍,內層迴圈控制j
的範圍。 - 每次外層迴圈執行時,內層迴圈會完整執行一次。
print(f"({i}, {j})")
會印出所有可能的數對組合。- 效能提示:巢狀迴圈可能導致計算複雜度呈指數增長,處理大量數據時需謹慎使用。
實用小技巧
- range() 搭配 for: 處理固定範圍的迴圈。
- 巢狀迴圈: 適合處理多維資料結構,如矩陣或座標系統。
- 條件篩選: 結合 if 判斷可精確控制輸出。
練習建議
試著修改範例中的清單內容或範圍,觀察執行結果,學會靈活運用 for 迴圈。
#Python #程式設計 #程式教學 #PythonTips